package com.easylinkin.linkappapi.roster.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easylinkin.linkappapi.config.entity.SysDictItem;
import com.easylinkin.linkappapi.lobar.dto.excel.ExcelResultDTO;
import com.easylinkin.linkappapi.roster.dto.LinkappRosterPersonnelDTO;
import com.easylinkin.linkappapi.roster.entity.RailLinkappRosterPersonnel;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.roster.vo.LinkappRosterPersonnelVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface ILinkappRosterPersonnelService extends   IService<RailLinkappRosterPersonnel> {
    IPage<LinkappRosterPersonnelVO> selectPage(Page page, LinkappRosterPersonnelDTO customQueryParams);

    boolean managAndStaffSave(RailLinkappRosterPersonnel requestModel);

    boolean protectAndSpecialSave(Map<String, Object> parameters);

    boolean rosterEdit(LinkappRosterPersonnelDTO linkappRosterPersonnelDTO);

    boolean rosterDel(String ids);

    boolean rosterBack(String ids, String time,String flag) throws Exception;

    boolean rosterAuths(String ids, String gatePermis);

    //boolean rosterExec(String ids, String startTime);

    ExcelResultDTO importRosterExcel(MultipartFile file, String tenantId) throws IOException;

    boolean rosterByUpdateType(String ids, String rosterType);

    SysDictItem getDict(String dictCode, String dictValue);

    void specialAuthBookFz(IPage<LinkappRosterPersonnelVO> record);

    ExcelResultDTO importRosterExcelCheck(MultipartFile file, String tenantId) throws IOException;

    List<LinkappRosterPersonnelVO> selecList(LinkappRosterPersonnelDTO requestModel);
}
